Autogenerated HTML docs for v2.9.2-664-ga0a18
diff --git a/RelNotes/2.10.0.txt b/RelNotes/2.10.0.txt index a9fb073..8abb678 100644 --- a/RelNotes/2.10.0.txt +++ b/RelNotes/2.10.0.txt
@@ -105,6 +105,11 @@ * "git push" and "git clone" learned to give better progress meters to the end user who is waiting on the terminal. + * An entry "git log --decorate" for the tip of the current branch is + shown as "HEAD -> name" (where "name" is the name of the branch); + paint the arrow in the same color as "HEAD", not in the color for + commits. + Performance, Internal Implementation, Development Support etc. @@ -246,6 +251,27 @@ repository. The internal mechanism learned to grow the window size more aggressively when working with the "smart http" transport. + * Tests for "git svn" have been taught to reuse the lib-httpd test + infrastructure when testing the subversion integration that + interacts with subversion repositories served over the http:// + protocol. + (merge a8a5d25 ew/git-svn-http-tests later to maint). + + * "git pack-objects" has a few options that tell it not to pack + objects found in certain packfiles, which require it to scan .idx + files of all available packs. The codepaths involved in these + operations have been optimized for a common case of not having any + non-local pack and/or any .kept pack. + + * The t3700 test about "add --chmod=-x" have been made a bit more + robust and generally cleaned up. + (merge 766cdc4 ib/t3700-add-chmod-x-updates later to maint). + + * The build procedure learned PAGER_ENV knob that lists what default + environment variable settings to export for popular pagers. This + mechanism is used to tweak the default settings to MORE on FreeBSD. + (merge 995bc22 ew/build-time-pager-tweaks later to maint). + Also contains various documentation updates and code clean-ups. @@ -416,16 +442,13 @@ "file" did not appear in the current commit. When "file" was created by renaming an existing file (but the change has not been committed), this restriction was unnecessarily tight. - (merge c66b470 mh/blame-worktree later to maint). * "git add -N dir/file && git write-tree" produced an incorrect tree when there are other paths in the same directory that sorts after "file". - (merge 6d6a782 nd/cache-tree-ita later to maint). * "git fetch http://user:pass@host/repo..." scrubbed the userinfo part, but "git push" didn't. - (merge 68f3c07 jk/push-scrub-url later to maint). * "git merge" with renormalization did not work well with merge-recursive, due to "safer crlf" conversion kicking in when it @@ -438,29 +461,24 @@ * An age old bug that caused "git diff --ignore-space-at-eol" misbehave has been fixed. - (merge 044fb19 js/ignore-space-at-eol later to maint). * "git notes merge" had a code to see if a path exists (and fails if it does) and then open the path for writing (when it doesn't). Replace it with open with O_EXCL. - (merge deb9c15 rs/notes-merge-no-toctou later to maint). * "git pack-objects" and "git index-pack" mostly operate with off_t when talking about the offset of objects in a packfile, but there were a handful of places that used "unsigned long" to hold that value, leading to an unintended truncation. - (merge ec9d224 nd/pack-ofs-4gb-limit later to maint). * Recent update to "git daemon" tries to enable the socket-level KEEPALIVE, but when it is spawned via inetd, the standard input file descriptor may not necessarily be connected to a socket. Suppress an ENOTSOCK error from setsockopt(). - (merge fab6027 ew/daemon-socket-keepalive later to maint). * Recent FreeBSD stopped making perl available at /usr/bin/perl; switch the default the built-in path to /usr/local/bin/perl on not too ancient FreeBSD releases. - (merge 259f22a ew/find-perl-on-freebsd-in-local later to maint). * "git commit --help" said "--no-verify" is only about skipping the pre-commit hook, and failed to say that it also skipped the @@ -495,16 +513,43 @@ designed well. (merge 8465541 jc/grep-commandline-vs-configuration later to maint). + * Windows port was failing some tests in t4130, due to the lack of + inum in the returned values by its lstat(2) emulation. + (merge 54956df js/t4130-rename-without-ino later to maint). + + * The reflog output format is documented better, and a new format + --date=unix to report the seconds-since-epoch (without timezone) + has been added. + (merge 442f6fd jk/reflog-date later to maint). + + * "git difftool <paths>..." started in a subdirectory failed to + interpret the paths relative to that directory, which has been + fixed. + (merge 32b8c58 jk/difftool-in-subdir later to maint). + + * The characters in the label shown for tags/refs for commits in + "gitweb" output are now properly escaped for proper HTML output. + (merge 77947bb ab/gitweb-link-html-escape later to maint). + + * FreeBSD can lie when asked mtime of a directory, which made the + untracked cache code to fall back to a slow-path, which in turn + caused tests in t7063 to fail because it wanted to verify the + behaviour of the fast-path. + (merge 6b7728d nd/fbsd-lazy-mtime later to maint). + + * Squelch compiler warnings for netmalloc (in compat/) library. + (merge c6c9e18 js/nedmalloc-gcc6-warnings later to maint). + + * A small memory leak in the command line parsing of "git blame" + has been plugged. + + * The API documentation for hashmap was unclear if hashmap_entry + can be safely discarded without any other consideration. State + that it is safe to do so. + (merge 54ba5a1 jc/hashmap-doc-init later to maint). + * Other minor clean-ups and documentation updates - (merge e51b0df pb/commit-editmsg-path later to maint). - (merge b333d0d jk/send-pack-stdio later to maint). - (merge fcf0fe9 lf/sideband-returns-void later to maint). - (merge c2691e2 ah/unpack-trees-advice-messages later to maint). - (merge c61b2af lf/recv-sideband-cleanup later to maint). - (merge 31471ba rs/use-strbuf-addbuf later to maint). - (merge 503e224 nd/test-helpers later to maint). - (merge 16726cf jc/doc-diff-filter-exclude later to maint). - (merge fd2e7da rs/worktree-use-strbuf-absolute-path later to maint). - (merge 406621f sb/submodule-deinit-all later to maint). - (merge 55cbe18 rs/submodule-config-code-cleanup later to maint). - (merge 280abfd sb/pack-protocol-doc-nak later to maint). + (merge 9d1ca1d jk/t4205-cleanup later to maint). + (merge 5f072e0 cp/completion-clone-recurse-submodules later to maint). + (merge bc57b9c rs/use-strbuf-addstr later to maint). + (merge 52db4b0 jh/clean-smudge-f-doc later to maint).
diff --git a/RelNotes/2.9.3.txt b/RelNotes/2.9.3.txt index 28003a5..bdcd446 100644 --- a/RelNotes/2.9.3.txt +++ b/RelNotes/2.9.3.txt
@@ -55,4 +55,38 @@ * A test that unconditionally used "mktemp" learned that the command is not necessarily available everywhere. + * "git blame file" allowed the lineage of lines in the uncommitted, + unadded contents of "file" to be inspected, but it refused when + "file" did not appear in the current commit. When "file" was + created by renaming an existing file (but the change has not been + committed), this restriction was unnecessarily tight. + + * "git add -N dir/file && git write-tree" produced an incorrect tree + when there are other paths in the same directory that sorts after + "file". + + * "git fetch http://user:pass@host/repo..." scrubbed the userinfo + part, but "git push" didn't. + + * An age old bug that caused "git diff --ignore-space-at-eol" + misbehave has been fixed. + + * "git notes merge" had a code to see if a path exists (and fails if + it does) and then open the path for writing (when it doesn't). + Replace it with open with O_EXCL. + + * "git pack-objects" and "git index-pack" mostly operate with off_t + when talking about the offset of objects in a packfile, but there + were a handful of places that used "unsigned long" to hold that + value, leading to an unintended truncation. + + * Recent update to "git daemon" tries to enable the socket-level + KEEPALIVE, but when it is spawned via inetd, the standard input + file descriptor may not necessarily be connected to a socket. + Suppress an ENOTSOCK error from setsockopt(). + + * Recent FreeBSD stopped making perl available at /usr/bin/perl; + switch the default the built-in path to /usr/local/bin/perl on not + too ancient FreeBSD releases. + Also contains minor documentation updates and code clean-ups.
diff --git a/git-diff-tree.html b/git-diff-tree.html index 9736d98..3d02559 100644 --- a/git-diff-tree.html +++ b/git-diff-tree.html
@@ -2304,12 +2304,18 @@ </li> <li> <p> -<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code> +<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code> or + <code>refs/stash@{2 minutes ago</code>}; the format follows the rules described + for the <code>-g</code> option. The portion before the <code>@</code> is the refname as + given on the command line (so <code>git log -g refs/heads/master</code> would + yield <code>refs/heads/master@{0}</code>). </p> </li> <li> <p> -<em>%gd</em>: shortened reflog selector, e.g., <code>stash@{1}</code> +<em>%gd</em>: shortened reflog selector; same as <code>%gD</code>, but the refname + portion is shortened for human readability (so <code>refs/heads/master</code> + becomes just <code>master</code>). </p> </li> <li>
diff --git a/git-log.html b/git-log.html index 7bff407..140f6f8 100644 --- a/git-log.html +++ b/git-log.html
@@ -1341,10 +1341,39 @@ </p> <div class="paragraph"><p>With <code>--pretty</code> format other than <code>oneline</code> (for obvious reasons), this causes the output to have two extra lines of information -taken from the reflog. By default, <em>commit@{Nth}</em> notation is -used in the output. When the starting commit is specified as -<em>commit@{now}</em>, output also uses <em>commit@{timestamp}</em> notation -instead. Under <code>--pretty=oneline</code>, the commit message is +taken from the reflog. The reflog designator in the output may be shown +as <code>ref@{Nth}</code> (where <code>Nth</code> is the reverse-chronological index in the +reflog) or as <code>ref@{timestamp}</code> (with the timestamp for that entry), +depending on a few rules:</p></div> +<div class="openblock"> +<div class="content"> +<div class="olist arabic"><ol class="arabic"> +<li> +<p> +If the starting point is specified as <code>ref@{Nth}</code>, show the index +format. +</p> +</li> +<li> +<p> +If the starting point was specified as <code>ref@{now}</code>, show the +timestamp format. +</p> +</li> +<li> +<p> +If neither was used, but <code>--date</code> was given on the command line, show +the timestamp in the format requested by <code>--date</code>. +</p> +</li> +<li> +<p> +Otherwise, show the index format. +</p> +</li> +</ol></div> +</div></div> +<div class="paragraph"><p>Under <code>--pretty=oneline</code>, the commit message is prefixed with this information on the same line. This option cannot be combined with <code>--reverse</code>. See also <a href="git-reflog.html">git-reflog(1)</a>.</p></div> @@ -1997,8 +2026,8 @@ <code>iso-local</code>), the user’s local time zone is used instead. </p> <div class="paragraph"><p><code>--date=relative</code> shows dates relative to the current time, -e.g. “2 hours ago”. The <code>-local</code> option cannot be used with -<code>--raw</code> or <code>--relative</code>.</p></div> +e.g. “2 hours ago”. The <code>-local</code> option has no effect for +<code>--date=relative</code>.</p></div> <div class="paragraph"><p><code>--date=local</code> is an alias for <code>--date=default-local</code>.</p></div> <div class="paragraph"><p><code>--date=iso</code> (or <code>--date=iso8601</code>) shows timestamps in a ISO 8601-like format. The differences to the strict ISO 8601 format are:</p></div> @@ -2024,7 +2053,17 @@ <div class="paragraph"><p><code>--date=rfc</code> (or <code>--date=rfc2822</code>) shows timestamps in RFC 2822 format, often found in email messages.</p></div> <div class="paragraph"><p><code>--date=short</code> shows only the date, but not the time, in <code>YYYY-MM-DD</code> format.</p></div> -<div class="paragraph"><p><code>--date=raw</code> shows the date in the internal raw Git format <code>%s %z</code> format.</p></div> +<div class="paragraph"><p><code>--date=raw</code> shows the date as seconds since the epoch (1970-01-01 +00:00:00 UTC), followed by a space, and then the timezone as an offset +from UTC (a <code>+</code> or <code>-</code> with four digits; the first two are hours, and +the second two are minutes). I.e., as if the timestamp were formatted +with <code>strftime("%s %z")</code>). +Note that the <code>-local</code> option does not affect the seconds-since-epoch +value (which is always measured in UTC), but does switch the accompanying +timezone value.</p></div> +<div class="paragraph"><p><code>--date=unix</code> shows the date as a Unix epoch timestamp (seconds since +1970). As with <code>--raw</code>, this is always in UTC and therefore <code>-local</code> +has no effect.</p></div> <div class="paragraph"><p><code>--date=format:...</code> feeds the format <code>...</code> to your system <code>strftime</code>. Use <code>--date=format:%c</code> to show the date in your system locale’s preferred format. See the <code>strftime</code> manual for a complete list of @@ -2532,12 +2571,18 @@ </li> <li> <p> -<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code> +<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code> or + <code>refs/stash@{2 minutes ago</code>}; the format follows the rules described + for the <code>-g</code> option. The portion before the <code>@</code> is the refname as + given on the command line (so <code>git log -g refs/heads/master</code> would + yield <code>refs/heads/master@{0}</code>). </p> </li> <li> <p> -<em>%gd</em>: shortened reflog selector, e.g., <code>stash@{1}</code> +<em>%gd</em>: shortened reflog selector; same as <code>%gD</code>, but the refname + portion is shortened for human readability (so <code>refs/heads/master</code> + becomes just <code>master</code>). </p> </li> <li>
diff --git a/git-rev-list.html b/git-rev-list.html index 994f8fc..c6cb249 100644 --- a/git-rev-list.html +++ b/git-rev-list.html
@@ -1284,10 +1284,39 @@ </p> <div class="paragraph"><p>With <code>--pretty</code> format other than <code>oneline</code> (for obvious reasons), this causes the output to have two extra lines of information -taken from the reflog. By default, <em>commit@{Nth}</em> notation is -used in the output. When the starting commit is specified as -<em>commit@{now}</em>, output also uses <em>commit@{timestamp}</em> notation -instead. Under <code>--pretty=oneline</code>, the commit message is +taken from the reflog. The reflog designator in the output may be shown +as <code>ref@{Nth}</code> (where <code>Nth</code> is the reverse-chronological index in the +reflog) or as <code>ref@{timestamp}</code> (with the timestamp for that entry), +depending on a few rules:</p></div> +<div class="openblock"> +<div class="content"> +<div class="olist arabic"><ol class="arabic"> +<li> +<p> +If the starting point is specified as <code>ref@{Nth}</code>, show the index +format. +</p> +</li> +<li> +<p> +If the starting point was specified as <code>ref@{now}</code>, show the +timestamp format. +</p> +</li> +<li> +<p> +If neither was used, but <code>--date</code> was given on the command line, show +the timestamp in the format requested by <code>--date</code>. +</p> +</li> +<li> +<p> +Otherwise, show the index format. +</p> +</li> +</ol></div> +</div></div> +<div class="paragraph"><p>Under <code>--pretty=oneline</code>, the commit message is prefixed with this information on the same line. This option cannot be combined with <code>--reverse</code>. See also <a href="git-reflog.html">git-reflog(1)</a>.</p></div> @@ -2034,8 +2063,8 @@ <code>iso-local</code>), the user’s local time zone is used instead. </p> <div class="paragraph"><p><code>--date=relative</code> shows dates relative to the current time, -e.g. “2 hours ago”. The <code>-local</code> option cannot be used with -<code>--raw</code> or <code>--relative</code>.</p></div> +e.g. “2 hours ago”. The <code>-local</code> option has no effect for +<code>--date=relative</code>.</p></div> <div class="paragraph"><p><code>--date=local</code> is an alias for <code>--date=default-local</code>.</p></div> <div class="paragraph"><p><code>--date=iso</code> (or <code>--date=iso8601</code>) shows timestamps in a ISO 8601-like format. The differences to the strict ISO 8601 format are:</p></div> @@ -2061,7 +2090,17 @@ <div class="paragraph"><p><code>--date=rfc</code> (or <code>--date=rfc2822</code>) shows timestamps in RFC 2822 format, often found in email messages.</p></div> <div class="paragraph"><p><code>--date=short</code> shows only the date, but not the time, in <code>YYYY-MM-DD</code> format.</p></div> -<div class="paragraph"><p><code>--date=raw</code> shows the date in the internal raw Git format <code>%s %z</code> format.</p></div> +<div class="paragraph"><p><code>--date=raw</code> shows the date as seconds since the epoch (1970-01-01 +00:00:00 UTC), followed by a space, and then the timezone as an offset +from UTC (a <code>+</code> or <code>-</code> with four digits; the first two are hours, and +the second two are minutes). I.e., as if the timestamp were formatted +with <code>strftime("%s %z")</code>). +Note that the <code>-local</code> option does not affect the seconds-since-epoch +value (which is always measured in UTC), but does switch the accompanying +timezone value.</p></div> +<div class="paragraph"><p><code>--date=unix</code> shows the date as a Unix epoch timestamp (seconds since +1970). As with <code>--raw</code>, this is always in UTC and therefore <code>-local</code> +has no effect.</p></div> <div class="paragraph"><p><code>--date=format:...</code> feeds the format <code>...</code> to your system <code>strftime</code>. Use <code>--date=format:%c</code> to show the date in your system locale’s preferred format. See the <code>strftime</code> manual for a complete list of @@ -2535,12 +2574,18 @@ </li> <li> <p> -<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code> +<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code> or + <code>refs/stash@{2 minutes ago</code>}; the format follows the rules described + for the <code>-g</code> option. The portion before the <code>@</code> is the refname as + given on the command line (so <code>git log -g refs/heads/master</code> would + yield <code>refs/heads/master@{0}</code>). </p> </li> <li> <p> -<em>%gd</em>: shortened reflog selector, e.g., <code>stash@{1}</code> +<em>%gd</em>: shortened reflog selector; same as <code>%gD</code>, but the refname + portion is shortened for human readability (so <code>refs/heads/master</code> + becomes just <code>master</code>). </p> </li> <li>
diff --git a/git-show.html b/git-show.html index 1cf64a8..cc7f26a 100644 --- a/git-show.html +++ b/git-show.html
@@ -1277,12 +1277,18 @@ </li> <li> <p> -<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code> +<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code> or + <code>refs/stash@{2 minutes ago</code>}; the format follows the rules described + for the <code>-g</code> option. The portion before the <code>@</code> is the refname as + given on the command line (so <code>git log -g refs/heads/master</code> would + yield <code>refs/heads/master@{0}</code>). </p> </li> <li> <p> -<em>%gd</em>: shortened reflog selector, e.g., <code>stash@{1}</code> +<em>%gd</em>: shortened reflog selector; same as <code>%gD</code>, but the refname + portion is shortened for human readability (so <code>refs/heads/master</code> + becomes just <code>master</code>). </p> </li> <li>
diff --git a/gitattributes.html b/gitattributes.html index a703e03..828aeac 100644 --- a/gitattributes.html +++ b/gitattributes.html
@@ -1141,6 +1141,11 @@ clean = git-p4-filter --clean %f smudge = git-p4-filter --smudge %f</code></pre> </div></div> +<div class="paragraph"><p>Note that "%f" is the name of the path that is being worked on. Depending +on the version that is being filtered, the corresponding file on disk may +not exist, or may have different contents. So, smudge and clean commands +should not try to access the file on disk, but only act as filters on the +content provided to them on standard input.</p></div> </div> <div class="sect3"> <h4 id="_interaction_between_checkin_checkout_attributes">Interaction between checkin/checkout attributes</h4> @@ -1870,7 +1875,7 @@ <div id="footnotes"><hr /></div> <div id="footer"> <div id="footer-text"> -Last updated 2016-07-25 15:49:08 PDT +Last updated 2016-08-08 15:26:21 PDT </div> </div> </body>
diff --git a/gitattributes.txt b/gitattributes.txt index b40068b..34db3e2 100644 --- a/gitattributes.txt +++ b/gitattributes.txt
@@ -377,6 +377,11 @@ smudge = git-p4-filter --smudge %f ------------------------ +Note that "%f" is the name of the path that is being worked on. Depending +on the version that is being filtered, the corresponding file on disk may +not exist, or may have different contents. So, smudge and clean commands +should not try to access the file on disk, but only act as filters on the +content provided to them on standard input. Interaction between checkin/checkout attributes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/gitmodules.html b/gitmodules.html index f663fa4..afbfbee 100644 --- a/gitmodules.html +++ b/gitmodules.html
@@ -849,6 +849,16 @@ affected by this setting. </p> </dd> +<dt class="hdlist1"> +submodule.<name>.shallow +</dt> +<dd> +<p> + When set to true, a clone of this submodule will be performed as a + shallow clone unless the user explicitely asks for a non-shallow + clone. +</p> +</dd> </dl></div> </div> </div> @@ -889,7 +899,7 @@ <div id="footnotes"><hr /></div> <div id="footer"> <div id="footer-text"> -Last updated 2016-07-13 14:58:50 PDT +Last updated 2016-08-08 15:26:21 PDT </div> </div> </body>
diff --git a/gitmodules.txt b/gitmodules.txt index 07cdd73..0849d28 100644 --- a/gitmodules.txt +++ b/gitmodules.txt
@@ -79,6 +79,11 @@ "--ignore-submodule" option. The 'git submodule' commands are not affected by this setting. +submodule.<name>.shallow:: + When set to true, a clone of this submodule will be performed as a + shallow clone unless the user explicitely asks for a non-shallow + clone. + EXAMPLES --------
diff --git a/pretty-formats.txt b/pretty-formats.txt index 29b19b9..b95d67e 100644 --- a/pretty-formats.txt +++ b/pretty-formats.txt
@@ -147,8 +147,14 @@ "U" for a good signature with unknown validity and "N" for no signature - '%GS': show the name of the signer for a signed commit - '%GK': show the key used to sign a signed commit -- '%gD': reflog selector, e.g., `refs/stash@{1}` -- '%gd': shortened reflog selector, e.g., `stash@{1}` +- '%gD': reflog selector, e.g., `refs/stash@{1}` or + `refs/stash@{2 minutes ago`}; the format follows the rules described + for the `-g` option. The portion before the `@` is the refname as + given on the command line (so `git log -g refs/heads/master` would + yield `refs/heads/master@{0}`). +- '%gd': shortened reflog selector; same as `%gD`, but the refname + portion is shortened for human readability (so `refs/heads/master` + becomes just `master`). - '%gn': reflog identity name - '%gN': reflog identity name (respecting .mailmap, see linkgit:git-shortlog[1] or linkgit:git-blame[1])
diff --git a/rev-list-options.txt b/rev-list-options.txt index f39cb6d..a779c9d 100644 --- a/rev-list-options.txt +++ b/rev-list-options.txt
@@ -252,10 +252,25 @@ + With `--pretty` format other than `oneline` (for obvious reasons), this causes the output to have two extra lines of information -taken from the reflog. By default, 'commit@\{Nth}' notation is -used in the output. When the starting commit is specified as -'commit@\{now}', output also uses 'commit@\{timestamp}' notation -instead. Under `--pretty=oneline`, the commit message is +taken from the reflog. The reflog designator in the output may be shown +as `ref@{Nth}` (where `Nth` is the reverse-chronological index in the +reflog) or as `ref@{timestamp}` (with the timestamp for that entry), +depending on a few rules: ++ +-- +1. If the starting point is specified as `ref@{Nth}`, show the index +format. ++ +2. If the starting point was specified as `ref@{now}`, show the +timestamp format. ++ +3. If neither was used, but `--date` was given on the command line, show +the timestamp in the format requested by `--date`. ++ +4. Otherwise, show the index format. +-- ++ +Under `--pretty=oneline`, the commit message is prefixed with this information on the same line. This option cannot be combined with `--reverse`. See also linkgit:git-reflog[1]. @@ -714,8 +729,8 @@ `iso-local`), the user's local time zone is used instead. + `--date=relative` shows dates relative to the current time, -e.g. ``2 hours ago''. The `-local` option cannot be used with -`--raw` or `--relative`. +e.g. ``2 hours ago''. The `-local` option has no effect for +`--date=relative`. + `--date=local` is an alias for `--date=default-local`. + @@ -735,7 +750,18 @@ + `--date=short` shows only the date, but not the time, in `YYYY-MM-DD` format. + -`--date=raw` shows the date in the internal raw Git format `%s %z` format. +`--date=raw` shows the date as seconds since the epoch (1970-01-01 +00:00:00 UTC), followed by a space, and then the timezone as an offset +from UTC (a `+` or `-` with four digits; the first two are hours, and +the second two are minutes). I.e., as if the timestamp were formatted +with `strftime("%s %z")`). +Note that the `-local` option does not affect the seconds-since-epoch +value (which is always measured in UTC), but does switch the accompanying +timezone value. ++ +`--date=unix` shows the date as a Unix epoch timestamp (seconds since +1970). As with `--raw`, this is always in UTC and therefore `-local` +has no effect. + `--date=format:...` feeds the format `...` to your system `strftime`. Use `--date=format:%c` to show the date in your system locale's
diff --git a/technical/api-hashmap.html b/technical/api-hashmap.html index eb80c77..2196d94 100644 --- a/technical/api-hashmap.html +++ b/technical/api-hashmap.html
@@ -879,6 +879,10 @@ </p> <div class="paragraph"><p><code>entry</code> points to the entry to initialize.</p></div> <div class="paragraph"><p><code>hash</code> is the hash code of the entry.</p></div> +<div class="paragraph"><p>The hashmap_entry structure does not hold references to external resources, +and it is safe to just discard it once you are done with it (i.e. if +your structure was allocated with xmalloc(), you can just free(3) it, +and if it is on stack, you can just let it go out of scope).</p></div> </dd> <dt class="hdlist1"> <code>void *hashmap_get(const struct hashmap *map, const void *key, const void *keydata)</code> @@ -1077,7 +1081,7 @@ <div id="footnotes"><hr /></div> <div id="footer"> <div id="footer-text"> -Last updated 2014-07-22 12:39:19 PDT +Last updated 2016-08-08 15:26:21 PDT </div> </div> </body>
diff --git a/technical/api-hashmap.txt b/technical/api-hashmap.txt index ad7a5bd..28f5a8b 100644 --- a/technical/api-hashmap.txt +++ b/technical/api-hashmap.txt
@@ -104,6 +104,11 @@ `entry` points to the entry to initialize. + `hash` is the hash code of the entry. ++ +The hashmap_entry structure does not hold references to external resources, +and it is safe to just discard it once you are done with it (i.e. if +your structure was allocated with xmalloc(), you can just free(3) it, +and if it is on stack, you can just let it go out of scope). `void *hashmap_get(const struct hashmap *map, const void *key, const void *keydata)`::